package dawi.fcs.servicio.servicio.impl;

import java.util.HashMap;
import java.util.List;

import dawi.fcs.dominio.Cliente;
import dawi.fcs.dominio.dto.DtoExpediente;
import dawi.fcs.dominio.generico.GenericoBean;
import dawi.fcs.servicio.dao.ExpedienteDao;
import dawi.fcs.servicio.factory.DAOFactory;
import dawi.fcs.servicio.generico.GenericoServicioImpl;
import dawi.fcs.servicio.servicio.ExpedienteServicio;

public class ExpedienteServicioimpl extends GenericoServicioImpl implements
		ExpedienteServicio {
	private ExpedienteDao dao;

	public ExpedienteServicioimpl() {
		dao = DAOFactory.getFactorty(DAOFactory.MYSQL).getExpedienteDao();
		this.setGenericoDao(dao);
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	public List<DtoExpediente> listarPaginacion(HashMap<String, Object> map) {
		List lista = dao.listarPorQuery("expediente.listarPaginacion", map);
		return lista;
	}

	@Override
	public Integer maxNro() {
		return dao.contar("expediente.maxNro", new GenericoBean());
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	@Override
	public List<Cliente> listarClientePorExpediente(String expediente) {
		HashMap<String, Object> map = new HashMap<String, Object>();
		map.put("nroexpediente", expediente);
		List list = dao.listarPorQuery("expediente.clientesPorExpediente", map);
		return list;
	}

	@Override
	public String obtenerActividadesPartes(String expediente) {
		HashMap<String, Object> map = new HashMap<String, Object>();
		map.put("expediente", expediente);
		return dao.obtenerValor("expediente.obtenerActividadesPartes", map).toString();
	}

}
